26 research outputs found
An Analysis of Arithmetic Constraints on Integer Intervals
Arithmetic constraints on integer intervals are supported in many constraint
programming systems. We study here a number of approaches to implement
constraint propagation for these constraints. To describe them we introduce
integer interval arithmetic. Each approach is explained using appropriate proof
rules that reduce the variable domains. We compare these approaches using a set
of benchmarks. For the most promising approach we provide results that
characterize the effect of constraint propagation. This is a full version of
our earlier paper, cs.PL/0403016.Comment: 44 pages, to appear in 'Constraints' journa
A component-based parallel constraint solver
As a case study that illustrates our view on coordination and component-based software engineering, we present the design and implementation of a parallel constraint solver. The parallel solver coordinates autonomous instances of a sequential constraint solver, which is used as a software component. The component solvers achieve load balancing of tree search through a time-out mechanism. Experiments show that the purely exogenous mode of coordination employed here yields a viable parallel solver that effectively reduces turn-around time for constraint solving on a broad range of hardware platforms
On the accuracy of spectrum-based fault localization
Spectrum-based fault localization shortens the test- diagnose-repair cycle by reducing the debugging effort. As a light-weight automated diagnosis technique it can easily be integrated with existing testing schemes. However, as no model of the system is taken into account, its diagnostic accuracy is inherently limited. Using the Siemens Set benchmark, we investigate this diagnostic accuracy as a function of several parameters (such as quality and quantity of the program spectra collected during the execution of the system), some of which directly relate to test design. Our results indicate that the superior performance of a particular similarity coefficient, used to analyze the program spectra, is largely independent of test design. Furthermore, near- optimal diagnostic accuracy (exonerating about 80% of the blocks of code on average) is already obtained for low-quality error observations and limited numbers of test cases. The influence of the number of test cases is of primary importance for continuous (embedded) processing applications, where only limited observation horizons can be maintained
Diagnosis of embedded software using program spectra
Automated diagnosis of errors detected during software testing can improve the efficiency of the debugging process, and can thus help to make software more reliable. In this paper we discuss the application of a specific automated debugging technique, namely software fault localization through the analysis of program spectra, in the area of embedded software in high-volume consumer electronics products. We discuss why the technique is particularly well suited for this application domain, and through experiments on an industrial test case we demonstrate that it can lead to highly accurate diagnoses of realistic errors
A coordination-based framework for distributed constraint solving
DICE (DIstributed Constraint Environment) is a framework for the construction of distributed constraint solvers from software components in a number of predefined categories. The framework is implemented using the Manifold coordination language, and coordinates the components of a distributed solver by means of coordination protocols that implement a distributed constraint propagation algorithm, a distributed termination detection algorithm, and facilities for the distributed splitting of a constraint satisfaction problem. The aim of this report is to give an overview of DICE. In addition to the coordination protocols, the report describes the framework architecture and solver configuration language, and discusses our plans for further development
The applicability of the Idealized Worker Idealized Manager (IW...
Centrum voor Wiskunde en Informatica Software ENgineering A coordination-based framework for distributed constraint solvin
Coordination-based distributed constraint solving in DICE
DICE (DIstributed Constraint Environment) is a framework for the construction of distributed constraint solvers from software components in a number of predefined categories. The framework is implemented using the Manifold coordination language, and delivers coordination services to these components. The coordination services implement existing protocols for constraint propagation, termination detection and splitting of constraint satisfaction problems. DICE combines these protocols with support for parallel search and the grouping of closely related components into cooperating solvers. In addition to these facilities, the paper describes the DICE framework architecture, and gives a report on its implementation